package com.zbkj.crmeb.store.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 欧洲ERP商品表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EuropeProduct extends Model<EuropeProduct> {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @JsonProperty(value = "good_id")
    @TableId(value="good_id",type = IdType.INPUT)
    private Integer goodId;
    /**
     *商品型号
     */
    @JsonProperty(value = "model")
    private String model;
    /**
     *
     */
    @JsonProperty(value = "variante")
    private String variante;
    /**
     *季节
     */
    @JsonProperty(value = "season")
    private String season;
    /**
     *
     */
    @JsonProperty(value = "collection")
    private String collection;
    /**
     *供应商ID
     */
    @JsonProperty(value = "supplier_id")
    private Integer supplierId;
    /**
     *品牌ID
     */
    @JsonProperty(value = "brand_id")
    private Integer brandId;
    /**
     *父级类目ID
     */
    @JsonProperty(value = "parent_category_id")
    private Integer parentCategoryId;
    /**
     *类目ID
     */
    @JsonProperty(value = "category_id")
    private Integer categoryId;
    /**
     *类型ID
     */
    @JsonProperty(value = "type_id")
    private Integer typeId;
    /**
     *
     */
    @JsonProperty(value = "code")
    private String Code;
    /**
     *商品名称
     */
    @JsonProperty(value = "goods_name")
    private String goodsName;
    /**
     *建议价格
     */
    @JsonProperty(value = "reference_price")
    private BigDecimal referencePrice;
    /**
     *价格
     */
    @JsonProperty(value = "price")
    private BigDecimal price;
    /**
     *价格
     */
    @JsonProperty(value = "sale_price")
    private BigDecimal salePrice;
    /**
     *折扣
     */
    @JsonProperty(value = "discount")
    private String discount;
    /**
     *库存
     */
    @JsonProperty(value = "stock")
    private Integer stock;
    /**
     *
     */
    @JsonProperty(value = "main_pic_no")
    private String mainPicNo;
    /**
     *Europe创建时间
     */
    @JsonProperty(value = "old_created_time")
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    private Date oldCreatedTime;
    /**
     *Europe修改时间
     */
    @JsonProperty(value = "old_modify_time")
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    private Date oldModifyTime;
    /**
     *小黑仓创建时间
     */
    @JsonProperty(value = "new_created_time")
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    private Date newCreatedTime;
    /**
     *小黑仓修改时间
     */
    @JsonProperty(value = "new_modify_time")
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    private Date newModifyTime;
    /**
     *是否删除
     */
    @JsonProperty(value = "is_delete")
    private Integer isDelete;

    /**
     *
     * 更新标记, 0 未改变 1 新增，2 更新
     */
    @JsonProperty(value = "update_flag")
    private Integer updateFlag;

    /**
     * 缩略图
     */
    @JsonProperty(value = "goods_img")
    private String goodsImg;

    /**
     * 商品相册
     */
    @JsonProperty(value = "gallery")
    private String gallery;

    /**
     * 现货位置（1为国内，2是香港,3是海外）
     */
    @JsonProperty(value = "stock_area")
    private Integer stockArea;

    /**
     * 运费
     */
    @JsonProperty(value = "shipping_fee")
    private Integer shippingFee;

    /**
     * 供货价(港币)
     */
    @JsonProperty(value = "erp_price")
    private String erpPrice;
    /**
     * 供货优惠价格(港币)
     */
    @JsonProperty(value = "erp_prom_price")
    private String erpPromPrice;

    @TableField(exist = false)
    private List<EuropeProductSku> skuList;
    
    @TableField(exist = false)
    private List<EuropeProductSkuMerged> skuMergedList;




    @Override
    public String toString() {
        return "EuropeGood{" +
                "goodId=" + goodId +
                ", model='" + model + '\'' +
                ", variante='" + variante + '\'' +
                ", season='" + season + '\'' +
                ", collection='" + collection + '\'' +
                ", supplierId=" + supplierId +
                ", brandId=" + brandId +
                ", parentCategoryId=" + parentCategoryId +
                ", categoryId=" + categoryId +
                ", typeId=" + typeId +
                ", Code='" + Code + '\'' +
                ", goodsName='" + goodsName + '\'' +
                ", referencePrice=" + referencePrice +
                ", price=" + price +
                ", discount='" + discount + '\'' +
                ", stock=" + stock +
                ", mainPicNo='" + mainPicNo + '\'' +
                ", oldCreatedTime=" + oldCreatedTime +
                ", oldModifyTime=" + oldModifyTime +
                ", newCreatedTime=" + newCreatedTime +
                ", newModifyTime=" + newModifyTime +
                ", isDelete=" + isDelete +
                '}';
    }
}
